load("@rules_cc//cc:defs.bzl", "cc_library")
load("@rules_java//java:defs.bzl", "java_library")
load("@rules_pkg//:mappings.bzl", "pkg_files", "strip_prefix")
load("@rules_proto//proto:defs.bzl", "proto_library")

filegroup(
    name = "datasets",
    srcs = [
        "//benchmarks/datasets/google_message1/proto2:datasets",
        "//benchmarks/datasets/google_message1/proto3:datasets",
        "//benchmarks/datasets/google_message2:datasets",
        "//benchmarks/datasets/google_message3:datasets",
        "//benchmarks/datasets/google_message4:datasets",
    ],
    visibility = [
        "//benchmarks:__subpackages__",
        "//conformance:__subpackages__",
    ],
)

filegroup(
    name = "proto3_datasets",
    srcs = [
        "//benchmarks/datasets/google_message1/proto2:proto3_datasets",
        "//benchmarks/datasets/google_message1/proto3:datasets",
        "//benchmarks/datasets/google_message2:proto3_datasets",
    ],
    visibility = [
        "//benchmarks:__subpackages__",
        "//conformance:__subpackages__",
        "//csharp:__pkg__",
    ],
)

proto_library(
    name = "protos",
    visibility = [
        "//benchmarks:__subpackages__",
    ],
    deps = [
        "//benchmarks/datasets/google_message1/proto2:benchmark_message1_proto2_proto",
        "//benchmarks/datasets/google_message1/proto3:benchmark_message1_proto3_proto",
        "//benchmarks/datasets/google_message2:benchmark_message2_proto",
        "//benchmarks/datasets/google_message3:benchmark_message3_proto",
        "//benchmarks/datasets/google_message4:benchmark_message4_proto",
    ],
)

cc_library(
    name = "cc_protos",
    visibility = [
        "//benchmarks:__subpackages__",
    ],
    deps = [
        "//benchmarks/datasets/google_message1/proto2:benchmark_message1_proto2_cc_proto",
        "//benchmarks/datasets/google_message1/proto3:benchmark_message1_proto3_cc_proto",
        "//benchmarks/datasets/google_message2:benchmark_message2_cc_proto",
        "//benchmarks/datasets/google_message3:benchmark_message3_cc_proto",
        "//benchmarks/datasets/google_message4:benchmark_message4_cc_proto",
    ],
)

java_library(
    name = "java_protos",
    visibility = [
        "//benchmarks:__subpackages__",
    ],
    exports = [
        "//benchmarks/datasets/google_message1/proto2:benchmark_message1_proto2_java_proto",
        "//benchmarks/datasets/google_message1/proto3:benchmark_message1_proto3_java_proto",
        "//benchmarks/datasets/google_message2:benchmark_message2_java_proto",
        "//benchmarks/datasets/google_message3:benchmark_message3_java_proto",
        "//benchmarks/datasets/google_message4:benchmark_message4_java_proto",
    ],
)

py_library(
    name = "py_protos",
    visibility = [
        "//benchmarks:__subpackages__",
    ],
    deps = [
        "//benchmarks/datasets/google_message1/proto2:benchmark_message1_proto2_py_proto",
        "//benchmarks/datasets/google_message1/proto3:benchmark_message1_proto3_py_proto",
        "//benchmarks/datasets/google_message2:benchmark_message2_py_proto",
        "//benchmarks/datasets/google_message3:benchmark_message3_py_proto",
        "//benchmarks/datasets/google_message4:benchmark_message4_py_proto",
    ],
)

filegroup(
    name = "php_protos",
    visibility = [
        "//benchmarks:__subpackages__",
    ],
    srcs = [
        "//benchmarks/datasets/google_message1/proto2:benchmark_message1_proto2_php_proto",
        "//benchmarks/datasets/google_message1/proto3:benchmark_message1_proto3_php_proto",
        "//benchmarks/datasets/google_message2:benchmark_message2_php_proto",
    ],
)

filegroup(
    name = "csharp_protos",
    visibility = [
        "//benchmarks:__subpackages__",
    ],
    srcs = [
        "//benchmarks/datasets/google_message1/proto2:benchmark_message1_proto2_csharp_proto",
        "//benchmarks/datasets/google_message1/proto3:benchmark_message1_proto3_csharp_proto",
        "//benchmarks/datasets/google_message2:benchmark_message2_csharp_proto",
        "//benchmarks/datasets/google_message3:benchmark_message3_csharp_proto",
        "//benchmarks/datasets/google_message4:benchmark_message4_csharp_proto",
    ],
)

pkg_files(
    name = "dist_files",
    srcs = ["BUILD.bazel"],
    strip_prefix = strip_prefix.from_root(""),
    visibility = ["//benchmarks:__pkg__"],
)
